﻿using KayakMes.Check.Application.Input;
using KayakMes.Check.Domain;
using KayakMes.Common.Result;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace KayakMes.Check.Application
{
    /// <summary>
    /// 检测项目分类接口层
    /// </summary>
    public interface ICheckItemService
    {
        /// <summary>
        /// 添加检测项目分类
        /// </summary>
        /// <param name="checkItem"></param>
        /// <returns></returns>
        ApiResult<int> AddCheckItem(AddCheckItemInput checkItem);
        /// <summary>
        /// 获取检测项目分类
        /// </summary>
        /// <param name="Id"></param>
        /// <returns></returns>
        ApiResult<CheckItemModel> CheckItemModel(long Id);
        /// <summary>
        /// 删除检测项目分类
        /// </summary>
        /// <param name="Id"></param>
        /// <returns></returns>
        ApiResult<int> DeleteCheckItem(long Id);
        /// <summary>
        /// 修改检测项目分类
        /// </summary>
        /// <param name="checkItem"></param>
        /// <returns></returns>
        ApiResult<int> UpdateCheckItem(UpdateChenitemInput checkItem);
        /// <summary>
        /// 分页查询检测项目分类
        /// </summary>
        /// <param name="input"></param>
        /// <returns></returns>
        ApiPaging<CheckItemModel> GetAllCheckItem(CheckItemInput input);

        /// <summary>
        /// 随机生成检测项目编号
        /// </summary>
        /// <returns></returns>

        string GetCheckItemCode();

    }
}
